
\newif\ifnotes
\notestrue
\newif\ifshort
\shortfalse
\newif\iffull
\fulltrue

\documentclass[a4paper,11pt]{article}
\usepackage{fullpage}
\usepackage{amsthm}
\usepackage{dsfont}
\usepackage{amsmath,amssymb,enumerate,algorithm,algorithmic,latexsym}
\usepackage[table]{xcolor}
\usepackage{enumerate}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{latexsym}
\usepackage{float}
\newfloat{algorithm}{H}{lop}
\usepackage{color}
\usepackage{colortbl}
\usepackage{url}
\usepackage{graphicx}
\usepackage{xspace}
\usepackage{subfigure}
\usepackage{amsfonts}
\usepackage{times}
\usepackage{caption}

\usepackage{enumitem}
\usepackage{color}
\usepackage[normalem]{ulem}
\usepackage{url}
\usepackage{graphicx}
\usepackage{amsfonts,enumerate,fullpage,times,amsthm}
\usepackage[hypertexnames=false]{hyperref}
\usepackage{bookmark}
\numberwithin{algorithm}{section}
\renewcommand{\paragraph}[1]{\vspace{1.5mm}\noindent \textbf{#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%general
%\renewcommand{\vec}[1]{\mathbf{#1}}
\renewcommand{\cal}{\mathcal}
\newcommand{\bb}{\mathbb}
\newcommand{\ve}[1]{\langle #1 \rangle}
\newcommand{\samp}[1]{\overset{#1}{\leftarrow}}
\newcommand{\set}[1]{\left\{#1\right\}}
\newcommand{\abs}[1]{\left|#1\right|}
\newcommand{\labs}{\left |}
\newcommand{\rabs}{\right |}
\renewcommand{\)}{\right )}
\renewcommand{\]}{\right ]}
\renewcommand{\(}{\left (}
\renewcommand{\[}{\left [}
\newcommand{\pST}{\; \middle\vert \;}
\newcommand{\us}[1]{\underset{#1}}
\newcommand{\supp}{\mathrm{supp}}
\newcommand{\binary}{\{0,1\}}
\newcommand{\zo}{\{0,1\}}
\newcommand{\WLOG}{WLOG }
\newcommand{\Supp}[1]{\mathsf{Supp}(#1)}
\newcommand{\Poly}{p}
\newcommand{\Time}[1]{T_{\tiny #1}}
\newcommand{\Nat}{\mathbb{N}}
\newcommand{\SD}{\mathsf{SD}}
\newcommand{\E}{\mathcal{E}}
%tuples
\newcommand{\CB}{\allowbreak}
\newcommand{\pair}[2]{(#1 ,\CB #2)}
\newcommand{\triple}[3]{(#1 ,\CB #2,\CB #3)}
\newcommand{\quadruple}[4]{(#1 ,\CB #2,\CB #3,\CB #4)}
\newcommand{\quintuple}[5]{(#1 ,\CB #2,\CB #3,\CB #4,\CB #5)}
\newcommand{\sixtuple}[6]{(#1 ,\CB #2,\CB #3,\CB #4,\CB #5,\CB #6)}
\newcommand{\seventuple}[7]{(#1 ,\CB #2,\CB #3,\CB #4,\CB #5,\CB #6,,\CB #7)}
\newcommand{\tuple}[2]{(#1 ,\CB \dots ,\CB #2)}

%quantities
\newcommand{\poly}{\mathrm{poly}}
\newcommand{\negl}{\mathrm{negl}}
\newcommand{\superpoly}{\mathrm{superpoly}}
\newcommand{\polylog}{\mathrm{polylog}}

% Languages and Relations
\newcommand{\lang}{\mathcal{L}}
\newcommand{\rell}{\mathcal{R}_\mathcal{L}}
\newcommand{\ins}{x}
\newcommand{\wit}{w}
\newcommand{\splang}{\mathcal{K}}


%general algo
\newcommand{\secp}{n}
\newcommand{\Adv}{\mathsf{A}}

%encryption
\newcommand{\eval}{{\sf Eval}}
\newcommand{\enc}{{\sf Enc}}
\newcommand{\rnd}{{\sf Rnd}}
\newcommand{\dec}{{\sf Dec}}
\newcommand{\gen}{{\sf Gen}}
\newcommand{\sk}{{\sf sk}}
\newcommand{\msg}{m}
\newcommand{\ciph}{\mathsf{c}}
\newcommand{\advi}{z}

%signature
\newcommand{\vk}{{\sf vk}}
\newcommand{\sign}{{\sf Sign}}
\newcommand{\ver}{{\sf Ver}}
\newcommand{\sig}{\sigma}
\newcommand{\querySet}{\mathsf{M}}
\newcommand{\upred}{P}


%commitments
\newcommand{\COM}{\mathsf{Com}}
\newcommand{\fmsg}{s}
\newcommand{\rcom}{r}
\newcommand{\fmsgLen}{S}
%\newcommand{\rcomLen}{R}
\newcommand{\com}{\mathsf{c}}
\newcommand{\comLen}{C}
\newcommand{\cbit}{b}
\newcommand{\SHCOM}{\mathsf{SHCom}}
\newcommand{\SHCOMIN}[3]{\SHCOM_#1(#2;#3)}%key,plaintext,randomness

%PRFs
\newcommand{\prffam}{\mathcal{PRF}}
\newcommand{\prfkey}{k}
\newcommand{\prfk}{\prf_\prfkey}
\newcommand{\prf}{{\sf PRF}}
\newcommand{\prfkSam}{\cal{K}_\prffam}
\newcommand{\punc}{\mathsf{Punc}}



%NIZK and hidden-bits
\newcommand{\indSet}{\mathcal{I}}
\newcommand{\crs}{\mathsf{crs}}
\newcommand{\proofs}{\pi}
\newcommand{\zkV}{{\cal V}}
\newcommand{\zkmV}{\zkV^*}
\newcommand{\zkP}{{\cal P}}
\newcommand{\zkmP}{\zkP^*}
\newcommand{\Sim}{{\cal S}}

%NIZK construction
\newcommand{\vkLen}{k}
\newcommand{\seed}{s}
\newcommand{\sigLen}{\ell}
\newcommand{\crsLen}{r}
\newcommand{\sigcrsLen}{r_{\sig}}
\newcommand{\crssig}{\mathsf{crs}_\sig}
\newcommand{\hbzkV}{{\cal V}_{\sf hb}}
\newcommand{\hbzkP}{{\cal P}_{\sf hb}}
\newcommand{\hbSim}{{\cal S}_{\sf hb}}
\newcommand{\sigSet}{\Sigma}
\newcommand{\bitSet}{B}
\newcommand{\hbit}{b}
\newcommand{\Dist}{D}
\newcommand{\Pred}{P}


%ZAPs
\def \zapVm {\mathsf{r}}
\def \zapVmLen {\crsLen}

%Sig construction
\newcommand{\cir}{C}

%obfuscation
\newcommand{\iO}{i\mathcal{O}}
\newcommand{\diO}{di\mathcal{O}}

%NIWI construction
\def \bit {b}
\def \WEC {E}
\def \langWE {\lang_{\WEC}^\ins}
\def \langZ {\mathcal{T}}
\def \HamE {{\sf E}_{H}}
\def \HamD {{\sf D}_{H}}
\def \codew {c}
\def \word {x}
\def \wlen {k}
\def \HDist {H}
\def \Dcir {D}


%Caligraphic
\newcommand{\cE}{\mathcal{E}}
\newcommand{\A}{\mathcal{A}}
\newcommand{\M}{\mathcal{M}}
\newcommand{\B}{\mathcal{B}}
\newcommand{\K}{\mathcal{K}}
\renewcommand{\H}{\mathcal{H}}
\newcommand{\R}{\mathcal{R}}
\newcommand{\Z}{\mathcal{Z}}
\newcommand{\C}{\mathcal{C}}
\newcommand{\F}{\mathcal{F}}
\renewcommand{\S}{\mathcal{S}}
\newcommand{\X}{\mathcal{X}}
\newcommand{\W}{\mathcal{W}}
\newcommand{\I}{\mathcal{I}}
\newcommand{\D}{\mathcal{D}}
\renewcommand{\L}{\mathcal{L}}
\renewcommand{\O}{\mathcal{O}}
\newcommand{\Field}{\bb{F}}

%Protocols
\newcommand{\prota}{\Pi}
\newcommand{\prot}[2]{\ve{#1\leftrightarrows#2}}
\newcommand{\proti}[3]{\ve{#1\overset{\tiny #3}{\leftrightarrows}#2}}
\newcommand{\ts}{\mathsf{ts}} %transcript


% Textual abbreviations (not for mathematical expressions)
\newcommand{\textabbrevstyle}[1]{\mbox{#1}}
\newcommand{\textabbrevstylebol}[1]{\mbox{\bf #1}}
\newcommand{\newtextabbrev}[1]{\expandafter\newcommand\csname #1\endcsname{\textabbrevstyle{#1}\xspace}}
\newcommand{\renewtextabbrev}[1]{\expandafter\renewcommand\csname #1\endcsname{\textabbrevstyle{#1}\xspace}}

\newcommand{\newtextabbrevbol}[1]{\expandafter\newcommand\csname #1\endcsname{\textabbrevstylebol{#1}\xspace}}
\newcommand{\renewtextabbrevbol}[1]{\expandafter\renewcommand\csname
#1\endcsname{\textabbrevstylebol{#1}\xspace}}

\newtextabbrev{PRF}
\newtextabbrev{OWP}
\newtextabbrev{OWF}
\newtextabbrev{PRG}
\newtextabbrev{EOWF}
\newtextabbrev{PEOWF}
\newtextabbrev{UA}
\newtextabbrev{NIUA}
\newtextabbrev{PCP}
\newtextabbrevbol{NP}
\newtextabbrevbol{coRP}
\renewtextabbrevbol{P}
\newtextabbrevbol{EXP}
\newtextabbrevbol{Dtime}
\newtextabbrevbol{Ntime}
\newtextabbrevbol{NC}
\newtextabbrev{BPP}
\newtextabbrev{IP}
\newtextabbrev{IA}
\newtextabbrev{ZK}
\newtextabbrev{BBZK}
\newtextabbrev{OT}
\newtextabbrev{PPT}
\newtextabbrev{nuPPT}
\newtextabbrev{POK}
\newtextabbrev{AOK}
\newtextabbrev{WI}
\newtextabbrev{NIWI}
\newtextabbrev{WIPOK}
\newtextabbrev{rsWI}
\newtextabbrev{rsWIAOK}
\newtextabbrev{srWIAOK}
\newtextabbrev{WIAOK}
\newtextabbrev{rWIAOK}
\newtextabbrev{rZKPOK}
\newtextabbrev{WIRPOK}
\newtextabbrev{rWI}
\newtextabbrev{rZK}
\newtextabbrev{rsZK}
\newtextabbrev{ZAP}
\newtextabbrev{rZAP}
\newtextabbrev{SFE}
\newcommand{\SFEST}{\SFE^{*}}
\newtextabbrev{CPA}
\newtextabbrev{MAIN}
\newtextabbrev{EMULATE}
\newtextabbrev{EXTRACT}
\newtextabbrev{FORK}
\newtextabbrev{Domain}
\newtextabbrev{NIZK}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\ifnum\version=\short{
%\spnewtheorem{construction}[theorem]{Construction}{\bfseries}{\itshape}
%\spnewtheorem{assumption}[theorem]{Assumption}{\bfseries}{\itshape}}
%\else
\newtheorem{definition}{Definition}[section]
\newtheorem{lemma}{Lemma}[section]
\newtheorem{corollary}{Corollary}[section]
\newtheorem{theorem}{Theorem}[section]
\newtheorem{claim}{Claim}[section]
\newtheorem{assumption}{Assumption}[section]
\newtheorem{proposition}{Proposition}[section]
\newtheorem{hypothesis}{Hypothesis}[section]
\newtheorem{observation}{Observation}[section]
\theoremstyle{remark}
\newtheorem{construction}{Construction}[section]
\newtheorem{remark}{Remark}[section]
\newtheorem{example}{Example}[section]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newcommand{\secref}[1]{Section~\protect\ref{#1}}
\newcommand{\appref}[1]{Appendix~\protect\ref{#1}}
\newcommand{\defref}[1]{Definition~\protect\ref{#1}}
\newcommand{\assref}[1]{Assumption~\protect\ref{#1}}
\newcommand{\conref}[1]{Construction~\protect\ref{#1}}
\newcommand{\figref}[1]{Figure~\protect\ref{#1}}
\newcommand{\tblref}[1]{Table~\protect\ref{#1}}
\newcommand{\thmref}[1]{Theorem~\protect\ref{#1}}
\newcommand{\prpref}[1]{Proposition~\protect\ref{#1}}
\newcommand{\lemref}[1]{Lemma~\protect\ref{#1}}
\newcommand{\clmref}[1]{Claim~\protect\ref{#1}}
\newcommand{\corref}[1]{Corollary~\protect\ref{#1}}
\newcommand{\fctref}[1]{Fact~\protect\ref{#1}}
\newcommand{\eqnref}[1]{Equation~(\protect\ref{#1})}
\newcommand{\algref}[1]{Algorithm~(\protect\ref{#1})}
\newcommand{\remref}[1]{Remark~\protect\ref{#1}}
\newcommand{\proref}[1]{Protocol~\protect\ref{#1}}
\newcommand{\stpref}[1]{Step~\protect\ref{#1}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newenvironment{boxfig}[2]{\begin{figure}[#1]\fbox{\begin{minipage}{\linewidth}
                        %\vspace{0.2em}
                        \makebox[0.025\linewidth]{}
                        \begin{minipage}{0.95\linewidth}
            {\small{
                        #2 }}
                        \end{minipage}
                        %\vspace{0.2em}
                        \end{minipage}}}{\end{figure}}


\newcommand{\pprotocol}[4]{
\begin{boxfig}{h!}{
\begin{center}
{\bf #1}
\end{center}
    #4
\vspace{0.5ex} } \caption{\label{#3} #2}
\end{boxfig}
}

\newcommand{\protocol}[4]{
\pprotocol{#1}{#2}{#3}{#4} }
%Example:
%\protocol{Header}{Caption}{label}{the protocol}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\ifnotes
\newcommand{\omer}[1]{$\ll$\textsf{\color{red} Omer: { #1}}$\gg$}
\newcommand{\nir}[1]{$\ll$\textsf{\color{orange} Nir: { #1}}$\gg$}
\else
\newcommand{\omer}[1]{}
\fi



\begin{document}
\author{Nir Bitansky\thanks{Tel Aviv University. Email: \texttt{nirbitan@tau.ac.il}.  Supported
by an IBM Ph.D. Fellowship, the Check Point Institute for Information Security, and the Israeli Ministry of Science and Technology.} \and Omer Paneth\thanks{Boston University. Email: \texttt{omer@bu.edu}.  Supported by the Simons award for graduate students in theoretical computer science and an NSF Algorithmic foundations grant 1218461.}}

\title{Composable Obfuscation}
\maketitle

\begin{abstract}
\end{abstract}

\thispagestyle{empty}
\newpage
\pagenumbering{arabic}
\section{Introduction}


\bibliographystyle{alpha}
{
\bibliography{composable-obfuscation}
}



\end{document}


